﻿namespace UIOC.Observable.Tests.Objects {

    public interface IUIOCObservableObjectData : IObservableData<object> { }

    public interface IUIOCObjectData : IData<object>, IUIOCObservableObjectData { }


    public interface IUIOCOOData : IObservableData<object> { }

    public interface IUIOCData : IData<object>, IUIOCOOData { }


    public interface IUIOCObservableUnboundGenericData<T> : IObservableData<T> { }

    public interface IUIOCUnboundGenericData<T> : IData<T>, IUIOCObservableUnboundGenericData<T> { }


    public interface IUIOCObservableConstraintGenericData<T> : IObservableData<T> where T : IUIOCObservableGlobalInterfaceOne, new() { }

    public interface IUIOCConstraintGenericData<T> : IData<T>, IUIOCObservableConstraintGenericData<T> where T : IUIOCObservableGlobalInterfaceOne, new() { }


    public interface IUIOCObservableData2 : IObservableData<IData<IData<int>>> { }

    public interface IUIOCData2 : IData<IData<IData<int>>>, IUIOCObservableData2 { }
}